// samsting : this file is auto create.

#ifndef ALIYUN_R_kvstore_DescribeInstancesResponse_H_
#define ALIYUN_R_kvstore_DescribeInstancesResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace R_kvstore {

class DescribeInstancesResponse : public AcsResponse {
public:
  DescribeInstancesResponse();

  class KVStoreInstance {
    friend class DescribeInstancesResponse;
  public:
    const string& GetInstanceId(void) const;
    const string& GetInstanceName(void) const;
    const string& GetConnectionDomain(void) const;
    int64 GetPort(void) const;
    const string& GetUserName(void) const;
    const string& GetInstanceStatus(void) const;
    const string& GetRegionId(void) const;
    int64 GetCapacity(void) const;
    int64 GetQPS(void) const;
    int64 GetBandwidth(void) const;
    int64 GetConnections(void) const;
    const string& GetZoneId(void) const;
    const string& GetConfig(void) const;
    const string& GetChargeType(void) const;
    const string& GetCreateTime(void) const;
    const string& GetEndTime(void) const;
  private:
    string InstanceId_;
    string InstanceName_;
    string ConnectionDomain_;
    int64  Port_;
    string UserName_;
    string InstanceStatus_;
    string RegionId_;
    int64  Capacity_;
    int64  QPS_;
    int64  Bandwidth_;
    int64  Connections_;
    string ZoneId_;
    string Config_;
    string ChargeType_;
    string CreateTime_;
    string EndTime_;
  }; // KVStoreInstance 

  const std::vector<KVStoreInstance>& GetInstances(void) const;
  int  GetPageNumber(void) const;
  int  GetPageSize(void) const;
  int  GetTotalCount(void) const;

private:
  std::vector<KVStoreInstance> Instances_;
  int    PageNumber_;
  int    PageSize_;
  int    TotalCount_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace R_kvstore {

#endif // #ifndef ALIYUN_R_kvstore_DescribeInstancesResponse_H_

// end of file 
